﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

namespace Framework.Plugin.Website
{
    public class CMSHost:ICMSHost
    {
        #region Ctor

        public CMSHost()
        { 
        }

        #endregion

        #region Implement ICMSHost

        public List<ICMSPlugin> Plugins
        {
            get;
            set;
        }

        public List<string> MenuItems
        {
            get;
            set;
        }

        public void RegisterPluginService(ICMSService pluginService)
        {
            throw new NotImplementedException();
        }
         
        public object GetService(Type serviceType)
        {
            throw new NotImplementedException();
        }

        public T GetService<T>() where T : ICMSService
        {
            throw new NotImplementedException();
        }

        public void Initialize()
        {
            // Load CMS Host Enviroment

            // Load Plugins Information
            LoadPlugins();
        }

        #endregion

        #region Other Methods

        protected virtual void LoadPlugins()
        { 
        }

        #endregion



        public CMSEventsAggregator EventsAggregator
        {
            get { throw new NotImplementedException(); }
        }

        IEnumerable<ICMSPlugin> ICMSHost.Plugins
        {
            get { throw new NotImplementedException(); }
        }

        public void RegisterPluginService<T>(T pluginService) where T : ICMSService
        {
            throw new NotImplementedException();
        }
    }
}